home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / GME / GMEKERNE.D < prev    next >
Encoding:
Text File  |  1991-03-09  |  5.5 KB  |  3 lines

  1. ⓪ DEFINITION MODULE GMEKernel;
  2. ⓪ (*$Z+*)
  3. ⓪ 
  4. ⓪ (* DEFINITION MODULE EditKernel; *)
  5. ⓪ 
  6. ⓪ (* The Little Golem Editor. Begonnen 13. 06. 86
  7. ⓪#(C) 1986, 1987, 1988, 1989, 1990 by Johannes Leckebusch.
  8. ⓪#Version: Siehe ceditor
  9. ⓪#
  10. ⓪#TT 14.12.90  "BlockMarkiert" exportiert
  11. ⓪ *)
  12. ⓪ 
  13. ⓪ (* Bemerkung: StringZeilen werden als >>Zeile<<, Pointer-Objekte
  14. ⓪#als >>Line<< bezeichnet *)
  15. ⓪ 
  16. ⓪ FROM GMEBase IMPORT einPufferPointer, eineInfo, einLinePointer,
  17. ⓪"eineZeile;
  18. ⓪#
  19. ⓪ FROM GMEBase IMPORT CharSet;
  20. ⓪ FROM GMEConfig IMPORT einTasteneintrag;
  21. ⓪ 
  22. ⓪ PROCEDURE StelleZeileEin (Puff: einPufferPointer;
  23. ⓪:n, offset: CARDINAL);
  24. ⓪"(* Zeiger auf die nte Zeile einstellen *)
  25. ⓪ 
  26. ⓪ PROCEDURE StellePointerEin (Puff: einPufferPointer;
  27. ⓪@l: einLinePointer;
  28. ⓪@offset: CARDINAL);
  29. ⓪ 
  30. ⓪ PROCEDURE SucheZeilenNummer (Puff: einPufferPointer;
  31. ⓪=Zeile: einLinePointer;
  32. ⓪=VAR Nummer: CARDINAL);
  33. ⓪"(* Nummer der Zeile mit Zeiger >>Zeile<< ermitteln *)
  34. ⓪ 
  35. ⓪ PROCEDURE SucheZeilenPointer (Puff: einPufferPointer;
  36. ⓪>VAR Nummer: CARDINAL;
  37. ⓪>VAR Zeile: einLinePointer);
  38. ⓪"(* Pointer auf die Zeile mit Nummer Nummer suchen *)
  39. ⓪ 
  40. ⓪ PROCEDURE LineDown (Puff: einPufferPointer);
  41. ⓪"(* eine Zeile nach unten *)
  42. ⓪ 
  43. ⓪ PROCEDURE LineUp (Puff: einPufferPointer);
  44. ⓪"(* eine Zeile nach oben *)
  45. ⓪ 
  46. ⓪ PROCEDURE DeleteLine (Puff: einPufferPointer;
  47. ⓪6VAR LoeschZeile: einLinePointer;
  48. ⓪6zeigen, puffern: BOOLEAN);
  49. ⓪"(* loesche die aktuelle Zeile und gehe in die naechste *)
  50. ⓪ 
  51. ⓪ PROCEDURE InsertLine (Puff: einPufferPointer;
  52. ⓪6REF z: ARRAY OF CHAR;
  53. ⓪6Indent: BOOLEAN;
  54. ⓪ (* Dieser Parameter ist scheinbar redundant, doch soll AutoIndent
  55. ⓪#oft explizit abgeschaltet sein, z. B. beim Fileeinlesen *)
  56. ⓪6zeigen: BOOLEAN;
  57. ⓪6adjustMerkpunkte: BOOLEAN);
  58. ⓪"(* fuege z nach der laufenen Zeile ein *)
  59. ⓪ 
  60. ⓪ PROCEDURE ScrollDown (Puff: einPufferPointer; z: CARDINAL);
  61. ⓪"(* gehe um z Zeilen nach oben *)
  62. ⓪ 
  63. ⓪ PROCEDURE ScrollUp (Puff: einPufferPointer; z: CARDINAL);
  64. ⓪"(* gehe um z Zeilen nach unten *)
  65. ⓪ 
  66. ⓪ PROCEDURE DoBackspace (Puff: einPufferPointer);
  67. ⓪"(* Fuehre Backspace aus, ev. Zeilen zusammenhaengen *)
  68. ⓪ 
  69. ⓪ PROCEDURE DoDelete (Puff: einPufferPointer);
  70. ⓪"(* Fuehre Delete aus, ev. Zeilen zusammenhaengen *)
  71. ⓪ 
  72. ⓪ PROCEDURE DoCR (Puff: einPufferPointer; zeigen: BOOLEAN;
  73. ⓪0VAR returnX: CARDINAL);
  74. ⓪"(* Spalte Zeile bei Cursorposition, gehe zum Anfang naechste Zeile *)
  75. ⓪ 
  76. ⓪ (* END EditKernel. *)
  77. ⓪ 
  78. ⓪ (* DEFINITION MODULE EditUtil; *)
  79. ⓪ 
  80. ⓪ 
  81. ⓪ PROCEDURE LoeschePuffer (p: einPufferPointer);
  82. ⓪ PROCEDURE GetKey (zeile: CARDINAL;
  83. ⓪2info: ARRAY OF CHAR;
  84. ⓪2set: CharSet;
  85. ⓪2VAR ch: CHAR);
  86. ⓪ PROCEDURE ReadNum (zeile: CARDINAL; REF info: ARRAY OF CHAR; VAR n: CARDINAL);
  87. ⓪ PROCEDURE Kopiere (Puff: einPufferPointer; ClipBoard: einPufferPointer);
  88. ⓪ PROCEDURE KopiereLoesche (Puff, ZielPuff: einPufferPointer;
  89. ⓪:kopiere, loesche: BOOLEAN);
  90. ⓪ PROCEDURE MarkiereBlockAnfang (Puff: einPufferPointer);
  91. ⓪ PROCEDURE MarkiereBlockEnde (Puff: einPufferPointer);
  92. ⓪ PROCEDURE LoescheBlockMarken (Puff: einPufferPointer);
  93. ⓪ PROCEDURE BlockMarkiert (Puff: einPufferPointer): BOOLEAN;
  94. ⓪ PROCEDURE InBlockMarken (Puff: einPufferPointer): BOOLEAN;
  95. ⓪ PROCEDURE RueckeBlockEin (Puff: einPufferPointer);
  96. ⓪ PROCEDURE SucheWort (Puff: einPufferPointer;
  97. ⓪5w: ARRAY OF CHAR; VAR gefunden: BOOLEAN;
  98. ⓪5key: einTasteneintrag (* cursup, cursdown, return *));
  99. ⓪"(* Stellt LaufendeZeile auf gefundenes Wort ein *)
  100. ⓪ 
  101. ⓪ PROCEDURE TauscheWort (Puff: einPufferPointer;
  102. ⓪7VAR s, t: ARRAY OF CHAR; maxx: CARDINAL;
  103. ⓪7modus: einTasteneintrag);
  104. ⓪ 
  105. ⓪ (* END EditUtil.*)
  106. ⓪ 
  107. ⓪ (* DEFINITION MODULE EditScreen; *)
  108. ⓪ 
  109. ⓪ PROCEDURE InsertZeile (Puff: einPufferPointer; n: CARDINAL);
  110. ⓪ PROCEDURE DeleteZeile (Puff: einPufferPointer; n: CARDINAL);
  111. ⓪ PROCEDURE WriteString (xoff: CARDINAL; (*Control, Tabs: BOOLEAN;*)
  112. ⓪6VAR s: ARRAY OF CHAR);
  113. ⓪ PROCEDURE MakeHighLine (puff: einPufferPointer; (*Control, Tabs: BOOLEAN;*)
  114. ⓪8zeile: CARDINAL; VAR inhalt: ARRAY OF CHAR);
  115. ⓪ PROCEDURE SchirmSchreiben (Puff: einPufferPointer;
  116. ⓪;Start: einLinePointer;
  117. ⓪;Anzahl: CARDINAL;
  118. ⓪;SOffset: INTEGER);
  119. ⓪"(* schreibe den Bildschirm neu *)
  120. ⓪"
  121. ⓪ PROCEDURE High   (v, h: CHAR; n: ARRAY OF CHAR);
  122. ⓪ PROCEDURE HighL  (v, h: CHAR; n: ARRAY OF CHAR);
  123. ⓪ 
  124. ⓪ VAR     tabjump:        CARDINAL;
  125. ⓪ 
  126. ⓪ (* END EditScreen. *)
  127. ⓪ 
  128. ⓪ (* DEFINITION MODULE EditLine; *)
  129. ⓪ 
  130. ⓪ (* Definitionsmenge fuer SkipBlank sollte parametrisiert werden *)
  131. ⓪ 
  132. ⓪ PROCEDURE Prompt (zeile: CARDINAL;
  133. ⓪1info: ARRAY OF CHAR;
  134. ⓪1VAR eingabe: ARRAY OF CHAR;
  135. ⓪1VAR key: einTasteneintrag);
  136. ⓪ 
  137. ⓪ PROCEDURE Edit (Puff: einPufferPointer;
  138. ⓪0VAR s:                  ARRAY OF CHAR;  (* Zu editierende Zeile *)
  139. ⓪4zeighelp, DoVorlauf: BOOLEAN;        (* Prompt anzeigen *)
  140. ⓪0VAR info:               ARRAY OF CHAR;  (* aktuelle Information *)
  141. ⓪0VAR overflow:           BOOLEAN;        (* Zeilenüberlauf *)
  142. ⓪0VAR marginoverflow:     BOOLEAN;        (* Bildschirmüberlauf *)
  143. ⓪4exit:               BOOLEAN;
  144. ⓪0VAR mx, my:             CARDINAL;        (* MausPos vor Tastendruck *)
  145. ⓪0VAR termch:             einTasteneintrag); (* FunktionsCode,
  146. ⓪Jmit dem die Zeile abgebrochen wurde *)
  147. ⓪ (* END EditLine. *)
  148. ⓪ 
  149. ⓪ END GMEKernel.
  150. ⓪ ə
  151. (* $FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$00000A84$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89AÇ$00000BB5T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$FFEA150D$00000A9B$00000AC8$00000A71$FFEB1170$00000B91$FFEB1170$00000BB5$00000107$FFEAA45E$FFEA150D$FFEB1170$00000A89$FFEA150D$FFEA150D$FFEA150DáÇé*)
  152.